package com.github.bitsapling.sapling.service;

import com.github.bitsapling.sapling.config.SecurityConfig;
import com.github.bitsapling.sapling.entity.User;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public interface AuthenticationService {
    public boolean authenticate(@NotNull User user, @NotNull String password, @Nullable String ipAddress);
    public User authenticate(@NotNull String passkey, @Nullable String ipAddress);
    public void cleanUserLoginFail(@Nullable String ip);
    public long markUserLoginFail(@Nullable String ip);
    public void checkAccountLoginAttempts(@Nullable String ip);
    public void checkPasskeyLoginAttempts(@Nullable String ip);
    public long getUserFail(@Nullable String ip);
}
